/*
 * display_hal.h
 *
 * Created: 8/19/2013 5:29:29 PM
 *  Author: Ken Arok
 *
 *      Revision history:
 *      ---------------------------------------------------------
 *      Date			|	Revised by		|	Description
 *      ---------------------------------------------------------
 *      1. Aug 16, 2013	|	Yosef			| New establishment
 *
 *
 *
 * \brief Hardware Abstraction Layer of LCD Display.
 *
 * Copyright (c) 2013 PT Hanindo Automation Solutions. All rights reserved.
 *
 */

#include "config_board.h"

#if BOARD_1_0_USED

#ifndef DISPLAY_HAL_H_
#define DISPLAY_HAL_H_

#include <stdint.h>

/** \brief Initialize LCD controller.
 */
void display_init(void);

/** \brief Set Display/Cursor position.
 *
 * \param _row	Row position.
 * \param _col	Column position.
 *
 */
void display_set_pos(uint8_t _row, uint8_t _col);

/** \brief Put a character on the Screen.
 *
 * \param _row	Row position.
 * \param _col	Column position.
 * \param _char	A character to be displayed.
 *
 */
void display_put(uint8_t _row, uint8_t _col, const char _char);

/** \brief Print a string character on the Screen.
 *
 * \param _row		Row position.
 * \param _col		Column position.
 * \param _string	A string character to be displayed.
 *
 */
void display_print(uint8_t _row, uint8_t _col, const char *_string);

/** \brief Clear screen.
 */
void display_clear(void);

/** \brief Control the LCD display.
 *
 * \param _ctrl		Control command.
 *
 */
void display_control(const uint8_t _ctrl);

/** \brief Turn LCD Backlight ON/OFF.
 *
 * \param _on_off	ON/OFF option. iON = ON; iOFF = OFF
 *
 */
void display_turn_backlight(uint8_t _on_off);


#endif /* DISPLAY_HAL_H_ */

#endif /* BOARD_1_0_USED */
